package ast;

/*
 *  Expresion asociado al elemento: 7 Segmentos. 
 *  Nodo del arbol semantico.
 */

public class Exp7Seg implements Expresion  {

	/**
	 * ATTRIBUTES
	 */
	// pin donde se encuentra conectado el elemento
	private int _Pin;
	// tiempo del delay (en segundos)
	private int _IdVarTiempo;
	
	/**
	 * Constructor
	 */
	public Exp7Seg( int pPin, int pIdVarTiempo ){
		_Pin			= 2;
		_IdVarTiempo 	= pIdVarTiempo;
	}
	
	/**
	 * Codigo asociado a esta expresion
	 */
	@Override
	public String GenerarCodigo() {
		String code = new String();
		String strVarTiempo = String.valueOf(_IdVarTiempo);
		String strPin 		= String.valueOf(_Pin);
		code += ConstCode.WRITE_NUM + strPin + ConstCode.COMA + ConstCode.FLUJO +  ConstCode.CIERRE_FUNCTION + ConstCode.FIN_LINE;
		code += ConstCode.DELAY_FUNCTION + ConstCode.VAR + strVarTiempo + ConstCode.MULTI;
		code += ConstCode.FACTOR_TIME + ConstCode.CIERRE_FUNCTION + ConstCode.FIN_LINE;
		code += ConstCode.WRITE_NUM + ConstCode.LOW +  ConstCode.CIERRE_FUNCTION + ConstCode.FIN_LINE;
		/*
		 * writeNum(flujo);
		 delay(var_Id*1000);
		 writeNum(LOW);
		 */
		return code;
	}


}